Java多线程简单应用

Categories: Java; Tagged with: ; @ January 31st, 2009 23:40

需求: 并行处理任务

描述:

某email解析小程序, 点击parse之后会解析网页中或文件中的email地址.

image

如果文件较大或网速较慢, 响应会比较迟钝,出现假死现象, 因此在点击Parse时, 创建一个专门用于Parse的线程, 保证程序的流程运行.

具体解决方法:

1. 监听Parse Button:

buttonParse.addActionListener(onParse);

2.onParse函数

private ActionListener onParse = new ActionListener() {
		public void actionPerformed(ActionEvent e){
			Thread threadParseEmail = new Thread(){

				@Override
				public void run() {
					// TODO Auto-generated method stub
					parseEmail();
				}
			};
			threadParseEmail.setName("ParseEmailThread");
			threadParseEmail.start();
			
			log.debug("Parse clicked");

	};

3.parseEmail函数进行具体的处理.

private void parseEmail() {
		
		log.info("正在解析");
......
	}

log信息:

[AWT-EventQueue-0] DEBUG com.insprise.mail.parser.SwingUI – Parse clicked

[ParseEmailThread] INFO  com.insprise.mail.parser.SwingUI – 正在解析

可见ParseEmail使用单独的进行进行操作,  在解析大文件时 UI不会出现假死状态.

<->



// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.